JAVA8 Stream流之reduce()方法详解 | 您所在的位置:网站首页 › stream != null › JAVA8 Stream流之reduce()方法详解 |
JAVA8 Stream流之reduce()方法详解
reduce()简介
Reduce 原意:减少,缩小
根据指定的计算模型将Stream中的值计算得到一个最终结果
解释:reduce 操作可以实现从Stream中生成一个值,其生成的值不是随意的,而是根据指定的计算模型。比如,之前提到count、min和max方法,因为常用而被纳入标准库中。事实上,这些方法都是reduce操作。
reduce三个override的方法
reduce方法有三个override的方法: Optional reduce(BinaryOperator accumulator); T reduce(T identity, BinaryOperator accumulator); U reduce(U identity,BiFunction accumulator,BinaryOperator combiner); 公共集合测试代码中的所有集合,都是该集合。 List javaProgrammers = new ArrayList() { { add(new Person("Elsdon", "Jaycob", "Java programmer", "male", 2000, 18)); add(new Person("Tamsen", "Brittany", "Java programmer", "female", 2371, 55)); add(new Person("Floyd", "Donny", "Java programmer", "male", 3322, 25)); add(new Person("Sindy", "Jonie", "Java programmer", "female", 35020, 15)); add(new Person("Vere", "Hervey", "Java programmer", "male", 2272, 25)); add(new Person("Maude", "Jaimie", "Java programmer", "female", 2057, 87)); add(new Person("Shawn", "Randall", "Java programmer", "male", 3120, 99)); add(new Person("Jayden", "Corrina", "Java programmer", "female", 345, 25)); add(new Person("Palmer", "Dene", "Java programmer", "male", 3375, 14)); add(new Person("Addison", "Pam", "Java programmer", "female", 3426, 20)); } }; 方式一reduce(BinaryOperator accumulator) Optional reduce(BinaryOperator accumulator); 我们先看第一个变形,参数列表为一个函数接口BinaryOperator, BinaryOperator源码: public interface BinaryOperator extends BiFunction { public static BinaryOperator minBy(Comparator |
CopyRight 2018-2019 实验室设备网 版权所有 |